package String.Practice;

import java.util.Scanner;

/*
题目：
键盘输入一个字符串，并且统计其中各种字符串出现的次数
种类：大写字母、小写字母、数字、其他

思路：
1、用到键盘输入，用到Scanner
2、键盘输入的是字符串，那么String str = sc.next();
3、定义四个变量，分别代表四种私服各自出现的次数
4、需要对字符串一个字一个字检查，String -->char[]  方法就是toCharArray()
5、遍历char[] 字符数组，对于当前的种类进行判断，并且用四个遍历进行++动过
6、打印输出四个变量，分别代表四种字符出现次数
*/
public class Demo02StringCount {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个字符串：");
        //获取键入的字符串
        String input = scanner.next();

        //定义四个变量  代表四种字符
        int countUpper = 0;  //大写字母
        int countLower = 0;  //小写字母
        int countNumber = 0; //数字
        int countOther = 0;  //其他字符

        //将键盘输入的字符串转成字符数组   toCharArray()
        char[] charArray = input.toCharArray();
        for (int i = 0; i < charArray.length; i++) {
            //循环下的单个字符
            char c = charArray[i];
            if ('A' <= c && c <= 'Z') {
                countUpper++;
            } else if ('a' <= c && c <= 'z') {
                countLower++;
            } else if ('0' <= c && c <= '9') {
                countNumber++;
            } else {
                countOther++;
            }
        }
        System.out.println("大写字母有：" + countUpper);
        System.out.println("小写字母有：" + countLower);
        System.out.println("数字有：" + countNumber);
        System.out.println("其他字符有：" + countOther);
    }
}
